package com.laviedesfons.jhmtasc.types.models;

import com.laviedesfons.jhmtasc.annotations.binding.MFlaggedField;
import com.laviedesfons.jhmtasc.annotations.binding.MFlaggedType;
import com.laviedesfons.jhmtasc.types.abstracts.Closure;
import com.laviedesfons.jhmtasc.types.internals.PInt;
import com.laviedesfons.jhmtasc.types.internals.PList;
import com.laviedesfons.jhmtasc.types.internals.PString;
import com.laviedesfons.jhmtasc.types.internals.PTup;

/**
 *
 * @author Romano
 */
@MFlaggedType(flag = "AFunction2",parent=Action.class)
public class FunctionDecl2 extends Closure {
    @MFlaggedField(flag="name")
    static PString name;

    @MFlaggedField(flag="flags")
    static PList<Func2Flags> flags;

    @MFlaggedField(flag="args")
    static PList<PTup<PInt,PString>> args;

    @MFlaggedField(flag="nregs")
    static PInt nregs;

    @MFlaggedField(flag="codelen")
    static PInt codelen;
}
